Method and system for supporting random access of MPEG data

ABSTRACT

Provided is a method of supporting a random access of MPEG data, the method including: obtaining at least one access unit including media data coded through processing including an encapsulation and a packetization; generating at least one media processing unit (MPU) by grouping at least one access unit; determining an initialization flag indicating whether the at least one access unit includes all of data required for initialization of a decoding process, in the at least one MPU; and inserting the initialization flag into a header of the at least one MPU.

TECHNICAL FIELD

The present invention relates to a system and method for supporting arandom access of MPEG data, and more particularly, to a technology ofsupporting a random access by including, in MPEG data, data used forinitialization of a decoding process or by including all of datarequired for initialization of the decoding process.

BACKGROUND ART

A technology of supporting a random access of MPEG data may support arandom access by inserting, into a bitstream of MPEG data, an I frame inwhich an image frame is independently coded and supports a randomaccess. Here, the random access may be performed only at a location ofthe I frame.

DISCLOSURE OF INVENTION Technical Goals

Embodiments of the present invention provide a method, apparatus, andsystem for supporting a random access by setting an enhanced mediaprocessing unit (MPU) and media fragment unit (MFU), in a transmissionapparatus.

Embodiments of the present invention also provide a method, apparatus,and system for setting an enhanced MPU and MFU by inserting apredetermined flag into a header of an MPU and an MFU during a processof supporting a random access.

Embodiments of the present invention also provide a method, apparatus,and system for performing a random access using an enhanced MPU and MFU,in a reception apparatus.

Embodiments of the present invention also provide a method, apparatus,and system for activating a random access by extracting a predeterminedflag included in a header of an MPU and an MFU during a process ofperforming the random access.

Technical Solutions

According to an aspect of the present invention, there is provided amethod of supporting a random access of MPEG data, the method including:obtaining at least one access unit including media data coded throughprocessing including an encapsulation and a packetization; generating atleast one media processing unit (MPU) by grouping the at least oneaccess unit; determining an initialization flag indicating whether theat least one access unit includes all of data required forinitialization of a decoding process, in the at least one MPU; andinserting the initialization flag into a header of the at least one MPU.

The determining may include setting the initialization flag to “1” whenthe at least one access unit includes all of the data required for theinitialization of the decoding process.

The method of supporting a random access of MPEG data may furtherinclude: determining a potential random access point flag indicatingwhether the at least one access unit is capable of being a random accesspoint, in the at least one MPU; and inserting the potential randomaccess point flag into the header of the at least one MPU.

The determining of the potential random access point flag may includesetting the potential random access point flag to “1” when the at leastone access unit is the random access point.

The method of supporting a random access of MPEG data may furtherinclude: determining an initialization access unit indicating anorder/index of the at least one access unit including all ofinitialization data required for the decoding process available withrespect to a random access point, in the at least one MPU; and insertingthe initialization access unit into the header of the at least one MPU.

According to another aspect of the present invention, there is provideda method of performing a random access of MPEG data, the methodincluding: receiving at least one MPU; extracting an initialization flagincluded in a header of the at least one MPU; determining whether the atleast one access unit included in the at least one MPU includes all ofdata required for initialization of a decoding process, based on theinitialization flag; and activating a random access to the at least oneaccess unit included in the at least one MPU, based on the determinationresult.

According to still another aspect of the present invention, there isprovided a method of supporting a random access of MPEG data, the methodincluding: obtaining at least one access unit including media data codedthrough processing including an encapsulation and a packetization;generating at least one media fragment unit (MFU) by fragmenting the atleast one access unit; determining an initialization data flagindicating whether the at least one MFU includes all of data requiredfor initialization of a decoding process, in the at least one MFU; andinserting the initialization data flag into a header of the at least oneMFU.

The determining may include setting the initialization data flat to “1”when the at least one MFU includes data used for the initialization ofthe decoding process.

The method of supporting a random access of MPEG data may furtherinclude: determining a priority indicating a relative priority of the atleast one MFU with respect to remaining MFUs excluding the at least oneMFU, in the at least one MFU; and inserting the priority into the headerof the at least one MFU.

When the initialization flag data is set to “1”, the priority mayindicate a level of initialization data of the at least one MFU.

According to yet another aspect of the present invention, there isprovided a method of performing a random access of MPEG data, the methodincluding: receiving at least one MFU; extracting an initialization dataflag included in a header of the at least one MFU; determining whetherthe at least one MFU includes data used for initialization of a decodingprocess, based on the initialization data flag; and activating a randomaccess to the at least one MFU based on the determination result.

Effects of Invention

According to embodiments of the present invention, there may be provideda method, apparatus, and system for supporting a random access bysetting an enhanced media processing unit (MPU) and media fragment unit(MFU), in a transmission apparatus.

Also, according to embodiments of the present invention, there may beprovided a method, apparatus, and system for setting an enhanced MPU andMFU by inserting a predetermined flag into a header of an MPU and an MFUduring a process of supporting a random access.

Also, according to embodiments of the present invention, there may beprovided a method, apparatus, and system for performing a random accessusing an enhanced MPU and MFU in a reception apparatus.

Also, according to embodiments of the present invention, there may beprovided a method, apparatus, and system for activating a random accessby extracting a predetermined flag included in a header of an MPU and anMFU during a process of performing the random access.

BRIEF DESCRIPTION OF DRAWINGS

FIGS. 1A and 1B are diagrams illustrating a media processing unit (MPU)and a media fragment unit (MFU).

FIG. 2 is a diagram illustrating an MFU obtained by fragmenting anaccess unit.

FIG. 3 is a diagram illustrating an MPU packet according to anembodiment of the present invention.

FIG. 4 is a diagram illustrating syntax of an MPU according to anembodiment of the present invention.

FIG. 5 is a diagram illustrating an MFU packet according to anembodiment of the present invention.

FIG. 6 is a diagram illustrating syntax of an MFU according to anembodiment of the present invention.

FIG. 7 is a flowchart illustrating a method of supporting a randomaccess of MPEG data set as an MPU in a transmission apparatus accordingto an embodiment of the present invention.

FIG. 8 is a flowchart illustrating a method of performing a randomaccess of MPEG data set as an MPU in a reception apparatus according toan embodiment of the present invention.

FIG. 9 is a flowchart illustrating a method of supporting a randomaccess of MPEG data set as an MFU in a transmission apparatus accordingto an embodiment of the present invention.

FIG. 10 is a flowchart illustrating a method of supporting a randomaccess of MPEG data set as an MFU in a reception apparatus according toan embodiment of the present invention.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, embodiments of the present invention will be described withreference to the accompanying drawings. However, the present inventionis not limited to the embodiments or restricted thereby. Also, likereference numerals used in each drawing refer to like constituentelements.

FIGS. 1A and 1B are diagrams illustrating a media processing unit (MPU)and a media fragment unit (MFU).

Referring to FIGS. 1A and 1B, timed media data 111 and non-timed mediadata 121 may be set using the MPU and the MFU that are formats of anMPEG media transport (MMT) asset and thereby be processed in operations110 and 120.

Here, each of MPUs 118 and 123 may be construed from at least one accessunit, at least one MFU 119, or the non-timed media data 121, and may beprovided in an encapsulated and packetized data format.

Also, the MFU 119 may be generated by fragmenting an access unit or maybe generated from a single access unit, and may be provided in anencapsulated and packetized data format.

More specifically, referring to operation 110 of processing the timedmedia data 111, the timed media data 111 may be converted to a pluralityof access units 113, 114, and 115 coded through encapsulation processingin operation 112. Also, the plurality of access units 113, 114, and 115may be converted to the MPU 118 and the MFU 119 that are formats of theMMT asset in operations 116 and 117. Here, the MPU 118 may be generatedby grouping the plurality of access units 113 and 114 in operation 116.The MFU 119 may be generated from the single access unit 115 inoperation 117. The MFU 119 may be generated by fragmenting the singleaccess unit 115. A description related thereto will be made below.

Referring to operation 120 of processing the non-timed media data 121,the non-timed media data 121 may be converted to the MPU 123 inoperation 122.

FIG. 2 is a diagram illustrating an MFU obtained by fragmenting anaccess unit.

Referring to FIG. 2, a plurality of MFUs 230, 240, and 250 may beobtained by fragmenting a single access unit 210 in operation 220. Here,each of the plurality of MFUs 230, 240, and 250 may be independentlyused, may include an identifier to be distinguished from each other, andmay include an identifier for generalizing relational informationbetween the plurality of MFUs 230, 240, and 250 within a single accessunit.

The aforementioned MPU and MFU may be defined by reference materials of“High efficiency coding and media delivery in heterogeneousenvironments” specified in International Organization forStandardization/International Electrotechnical Commission (ISO/IEC)Joint Technical Committee One (JTC1)/SC29/WG11 n12690.

FIG. 3 is a diagram illustrating an MPU packet according to anembodiment of the present invention.

Referring to FIG. 3, the MPU packet includes an MPU header 310 and anMPU payload 320. Here, the MPU payload 320 may include MPEG data. TheMPU header 310 may include an MPU length, an MPU header length, an MPUsequence number, an access unit number, an access unit length, aninitialization flag, a potential random access point (RAP) flag, aninitialization access unit, a private header flag, a private headerlength, and a private header. A description related thereto will be madebelow.

FIG. 4 is a diagram illustrating syntax of an MPU according to anembodiment of the present invention.

Referring to FIG. 4, a header of the MPU may include an MPU length, anMPU header length, an MPU sequence number, an access unit number, anaccess unit length, a private header flag, a private header length, aprivate header, an initialization flag 410, a potential RAP flag 420,and an initialization access unit 430.

Here, the initialization flag 410 may indicate whether an access unitincludes all of data required for initialization of a decoding process,in the MPU. The initialization flag 410 may be set to a bit value of “1”when the access unit includes all of the data required for theinitialization of the decoding process.

Also, the potential RAP flag 420 may indicate whether the access unit iscapable of being a random access point, in the MPU. Here, the potentialRAP flag 420 may be set to a bit value of “1” when the access unit isthe random access point. Also, the initialization access unit 430 mayindicate an order/index of the access unit including all ofinitialization data required for the decoding process available withrespect to the random access point, in the MPU. Here, the initializationaccess point 430 may be set when the potential RAP flag 420 is valid.

FIG. 5 is a diagram illustrating an MFU packet according to anembodiment of the present invention.

Referring to FIG. 5, the MFU packet includes an MFU header 510 and anMFU payload 520. Here, the MFU payload 520 may include MPEG data. TheMFU header 510 may include an MFU length, an MFU header length, a startend indicator, an initialization data flag, a priority, a dependencycounter, and a decoding order. A description related thereto will bemade below.

FIG. 6 is a diagram illustrating syntax of an MFU according to anembodiment of the present invention.

Referring to FIG. 6, a header of MFU may include an MFU length, an MFUheader length, a start end indicator, an initialization data flag 610, apriority 620, a dependency counter, and a decoding order.

Here, the initialization data flag 610 may indicate whether the MFUincludes data used for initialization of a decoding process, in the MFU.The initialization data flag 610 may be set to a bit value of “1” whenthe MFU includes data used for the initialization of the decodingprocess.

Also, the priority 620 may indicate a relative priority of acorresponding MFU with respect to remaining MFUs excluding thecorresponding MFU, in the MFU. Here, when the initialization data flag610 is set to a bit value of “1”, the priority 620 may indicate a levelof initialization data of the corresponding MFU. Also, the priority 620may be set when a start end indicator is identical to a predeterminedparameter.

FIG. 7 is a flowchart illustrating a method of supporting a randomaccess of MPEG data set as an MPU in a transmission apparatus accordingto an embodiment of the present invention.

Referring to FIG. 7, the method according to an embodiment of thepresent invention may obtain at least one access unit including mediadata coded through processing including an encapsulation and apacketization in operation 710.

In operation 720, the method may generate at least one MPU by groupingthe at least one access unit.

In operation 730, the method may determine an initialization flagindicating whether the at least one access unit includes all of datarequired for initialization of a decoding process, in the at least oneMPU. Here, a process of determining the initialization flag may includea process of setting the initialization flag to “1” when at least oneaccess unit includes all of data required for the initialization of thedecoding process.

In operation 740, the method may insert the initialization flag into aheader of the at least one MPU.

Also, the method according to an embodiment of the present invention maydetermine a potential RAP flag indicating whether the at least oneaccess unit is capable of being a random access point, in the at leastone MPU, and may insert the potential RAP flag into the header of the atleast one MPU. Here, a process of determining the potential RAP flag mayinclude a process of setting the potential RAP flag “1” when the atleast one access unit is the random access point.

Also, the method according to an embodiment of the present invention maydetermine an initialization access unit indicating an order/index of theat least one access unit including all of initialization data requiredfor the decoding process available with respect to a random accesspoint, in the at least one MPU, and may insert the initialization accessunit into the header of the at least one MPU.

FIG. 8 is a flowchart illustrating a method of performing a randomaccess of MPEG data set as an MPU in a reception apparatus according toan embodiment of the present invention.

Referring to FIG. 8, the method according to an embodiment of thepresent invention may receive at least one MPU in operation 810.

In operation 820, the method may extract an initialization flag includedin a header of the at least one MPU.

In operation 830, the method may determine whether the at least oneaccess unit included in the at least one MPU includes all of datarequired for initialization of a decoding process, based on theinitialization flag.

In operation 840, the method may activate a random access to the atleast one access unit included in the at least one MPU, based on thedetermination result.

FIG. 9 is a flowchart illustrating a method of supporting a randomaccess of MPEG data set as an MFU in a transmission apparatus accordingto an embodiment of the present invention.

Referring to FIG. 9, the method according to an embodiment of thepresent invention may obtain at least one access unit including mediadata coded through processing including an encapsulation and apacketization in operation 910.

In operation 920, the method may generate at least one MFU byfragmenting the at least one access unit.

In operation 930, the method may determine an initialization data flagindicating whether the at least one MFU includes all of data requiredfor initialization of a decoding process, in the at least one MPU. Here,a process of determining the initialization data flag may include aprocess of setting the initialization data flat to “1” when the at leastone MFU includes data used for initialization of the decoding process.

In operation 940, the method may insert the initialization data flaginto a header of the at least one MFU.

Also, the method according to an embodiment of the present invention maydetermine a priority indicating a relative priority of the at least oneMFU with respect to remaining MFUs excluding the at least one MFU, inthe at least one MFU, and may insert the priority into the header of theat least one MFU. When the initialization flag data is set to “1”, thepriority may indicate a level of initialization data of the at least oneMFU.

FIG. 10 is a flowchart illustrating a method of supporting a randomaccess of MPEG data set as an MFU in a reception apparatus according toan embodiment of the present invention.

Referring to FIG. 10, the method according to an embodiment of thepresent invention may receive at least one MFU in operation 1010.

In operation 1020, the method may extract an initialization data flagincluded in a header of the at least one MFU.

In operation 1030, the method may determine whether the at least one MFUincludes data used for initialization of a decoding process, based onthe initialization data flag.

In operation 1040, the method may activate a random access to the atleast one MFU based on the determination result.

The units described herein may be implemented using hardware componentsand software components. For example, the hardware components mayinclude microphones, amplifiers, band-pass filters, audio to digitalconvertors, and processing devices. A processing device may beimplemented using one or more general-purpose or special purposecomputers, such as, for example, a processor, a controller and anarithmetic logic unit, a digital signal processor, a microcomputer, afield programmable array, a programmable logic unit, a microprocessor orany other device capable of responding to and executing instructions ina defined manner. The processing device may run an operating system (OS)and one or more software applications that run on the OS. The processingdevice also may access, store, manipulate, process, and create data inresponse to execution of the software. For purpose of simplicity, thedescription of a processing device is used as singular; however, oneskilled in the art will appreciated that a processing device may includemultiple processing elements and multiple types of processing elements.For example, a processing device may include multiple processors or aprocessor and a controller. In addition, different processingconfigurations are possible, such a parallel processors.

The software may include a computer program, a piece of code, aninstruction, or some combination thereof, for independently orcollectively instructing or configuring the processing device to operateas desired. Software and data may be embodied permanently or temporarilyin any type of machine, component, physical or virtual equipment,computer storage medium or device, or in a propagated signal wavecapable of providing instructions or data to or being interpreted by theprocessing device. The software also may be distributed over networkcoupled computer systems so that the software is stored and executed ina distributed fashion. In particular, the software and data may bestored by one or more computer readable recording mediums.

The above-described exemplary embodiments of the present invention maybe recorded in non-transitory computer-readable media including programinstructions to implement various operations embodied by a computer. Themedia may also include, alone or in combination with the programinstructions, data files, data structures, and the like. Examples ofnon-transitory computer-readable media include magnetic media such ashard disks, floppy disks, and magnetic tape; optical media such as CDROM disks and DVDs; magneto-optical media such as floptical disks; andhardware devices that are specially configured to store and performprogram instructions, such as read-only memory (ROM), random accessmemory (RAM), flash memory, and the like. Examples of programinstructions include both machine code, such as produced by a compiler,and files containing higher level code that may be executed by thecomputer using an interpreter. The described hardware devices may beconfigured to act as one or more software modules in order to performthe operations of the above-described exemplary embodiments of thepresent invention, or vice versa.

Although a few embodiments of the present invention have been shown anddescribed, the present invention is not limited to the describedembodiments. Instead, it would be appreciated by those skilled in theart that changes may be made to these embodiments without departing fromthe principles and spirit of the invention, the scope of which isdefined by the claims and their equivalents.

The invention claimed is:
 1. A method of processing data performed byone or more processors, the method comprising: identifying at least onemedia fragment unit (MFU); transmitting the MFU and information relatedto the MFU; wherein the MFU includes an identifier for distinguishedfrom other MFU, wherein the information includes (i) a priority and (ii)a dependency counter, wherein the priority is a relative priority of acorresponding MFU with respect to remaining MFUs excluding thecorresponding MFU.
 2. The method of claim 1, wherein the informationincludes a length for the MFU.